home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / DEMO_VGA / EGADEMOS.LZH / COS-EYE.BAS < prev    next >
BASIC Source File  |  1986-07-27  |  6KB  |  51 lines

  1. 10 ' minor mods to run on the EGA by Robert Beckley
  2. 20 ' original written for the Tandy 2000  640x400 8 colors
  3. 1000 CLEAR, ,1024
  4. 1010 DEFINT A-Z
  5. 1020 KEY OFF:SCREEN 1:LOCATE 9,10:PRINT"* * COSMIC  EYES * *":LOCATE 15,11:PRINT"Lance E. Strickler":LOCATE 17,11:PRINT"Copyright  04JAN84":FOR I=0 TO 9999:NEXT
  6. 1030 SCREEN 9
  7. 1040 PALETTE 1,4:PALETTE 2,3:PALETTE 3,1:PALETTE 4,5:PALETTE 5,12:PALETTE 6,9:PALETTE 7,7 '  set the "key"
  8. 1050 RANDOMIZE (12345) ' set the "timbre"
  9. 1060 S = 3:C = 3:R = 120:K = 23 ' force initial shape, size and color
  10. 1070 ON K GOSUB 1100,1110,1120,1130,1140,1150,1160,1170,1180,1190,1200,1210,1220,1230,1240,1250,1260,1270,1280,1290,1300,1310,1320,1330,1340,1350,1360,1370,1380,1380
  11. 1080 S = FIX(RND*7)+2:C = FIX(RND*16):R = FIX(RND*101)+74:K = FIX(RND*30)+1
  12. 1090 LINE (1,1)-(639,349),C,B:GOTO 1070
  13. 1100 LINE (1,1)-(639,349),C,BF:RETURN '  fill the screen with color
  14. 1110 FOR I = 1 TO 319 STEP S:LINE (I+319,1)-(I+319,349),C:LINE (321-I,349)-(321-I,1),C:NEXT I:RETURN '  vertical lines with variable space - force black
  15. 1120 FOR I = 1 TO 174 STEP S:LINE (1,174+I)-(639,174+I),0:LINE (639,176-I)-(1,176-I),0:NEXT I:RETURN '  horizontal lines with variable space - force black
  16. 1130 FOR I = 1 TO 319 STEP S:LINE (I+319,1)-(I+319,349),C:LINE (321-I,349)-(321-I,1),C:NEXT I:RETURN '  vertical lines with variable space
  17. 1140 FOR I = 1 TO 174 STEP S:LINE (I*1.8286,1)-(640-I*1.8286,I),C,B:LINE (I*1.8286,349)-(640-I*1.8286,350-I),C,B:NEXT I:RETURN '  boxes from top and bottom to angles
  18. 1150 FOR I = 1 TO 349 STEP S+1:LINE (I*1.8286,1)-(639,I),C:LINE -(640-I*1.8286,349),C:LINE -(1,350-I),C:LINE -(I*1.8286,1),C:NEXT I:RETURN '  top to right to bottom to left to top
  19. 1160 FOR I = 1 TO 349 STEP S:LINE (639,I)-(320,I/2+.5),C:LINE -(1,I),C:LINE (1,350-I)-(320,349.5-I/2),C:LINE -(639,350-I),C:NEXT I:RETURN '  horiz. angled lines
  20. 1170 FOR I = 1 TO 639 STEP S:LINE (I,349)-(I/2+.5,175),C:LINE -(I,1),C:LINE (640-I,1)-(639.5-I/2,175),C:LINE -(640-I,349),C:NEXT I:RETURN '  vert. angled lines
  21. 1180 FOR I = 1 TO R STEP S:CIRCLE (320,175),I,C,,,1:NEXT I:RETURN '  circle
  22. 1190 FOR I = 1 TO R+175 STEP S:LINE (639,350-I)-(1,I),0:LINE (1,350-I)-(639,I),0:CIRCLE (320,175),I/2,C,,,1:NEXT I:RETURN '  black "eye"
  23. 1200 FOR I = 1 TO 320 STEP S:LINE (321-I,1)-(319+I,349),C:LINE (321-I,349)-(319+I,1),C:NEXT I:RETURN '  top X bottom
  24. 1210 FOR I = 1 TO 174 STEP S:LINE (1,176-I)-(639,174+I),C:LINE (639,176-I)-(1,174+I),C:NEXT I:RETURN '  left X right
  25. 1220 FOR I = 1 TO R STEP S:CIRCLE (320,175),I,0,,,1:NEXT I:RETURN '  circle - force black
  26. 1230 FOR I = 2 TO R+174 STEP S:LINE (I,1)-(640-I,349),C:LINE (639,350-I)-(1,I),C:LINE (640-I,1)-(I,349),C:LINE (1,350-I)-(639,I),C:CIRCLE (320,175),I/2,0,,,1:CIRCLE (320,175),(176-I+R)/2,0,,,1:NEXT I:RETURN '  circle X "eye"
  27. 1240 FOR I = 175-R TO 175+R STEP S:LINE (120+I,175-R)-(320+R,I),C:LINE -(520-I,175+R),C:LINE -(320-R,350-I),C:LINE -(120+I,175-R),C:NEXT I:RETURN '  spin box
  28. 1250 FOR I = 1 TO 350-R STEP S:CIRCLE (1,175),I,C,4.72,1.57,R/250:CIRCLE (639,175),I,C,1.57,4.72,R/250:NEXT I:RETURN '  half elipses from the sides
  29. 1260 FOR I = 174 TO 320 STEP S+1:CIRCLE (I,175),R,C,,,1:CIRCLE (640-I,175),R,C,,,1:NEXT I:RETURN '  two traveling circles
  30. 1270 FOR I = 1 TO 349 STEP S:LINE (639,I)-(1,175),C:LINE (1,350-I)-(639,175),C:NEXT I:RETURN '  center of sides to the opposite borders
  31. 1280 FOR I = 1 TO 639 STEP S:LINE (I,349)-(320,1),C:LINE (640-I,1)-(320,349),C:NEXT I:RETURN '  center of the top and bottom to their opposites
  32. 1290 FOR I = 1 TO 174 STEP 2:LINE (440+I,175+I)-(200-I,175-I),0,B:NEXT I:RETURN '  box - force black - force small steps
  33. 1300 R=1:FOR I = 1 TO 349 STEP S:LINE (320,349)-(1,I),C:LINE -(320,1),C:LINE (1,1)-(320,350-I),C:LINE (320,349)-(639,I),C:LINE -(320,1),C:LINE (639,1)-(320,350-I),C:CIRCLE (320,I/2),R,0,,,1:R=R+2:NEXT I:RETURN '  circle vee
  34. 1310 FOR I = 1 TO 174 STEP S:LINE (1,350-I)-(I*1.8286,I),C,B:LINE (639,I)-(640-I*1.8286,350-I),C,B:NEXT I:RETURN '  boxes from sides to angles
  35. 1320 FOR I = 1 TO 350-R STEP S:CIRCLE (320,175),I,C,,,R/I:NEXT I:RETURN '  elipse that grows
  36. 1330 FOR I = 1 TO 317 STEP 4:LINE (I+319,1)-(I+321,349),0,B:LINE (321-I,349)-(319-I,1),0,B:NEXT I:RETURN '  vertical lines - force small step - force black
  37. 1340 FOR I = 1 TO 197 STEP 4:LINE (1,174+I)-(639,176+I),0,B:LINE (639,176-I)-(1,174-I),0,B:NEXT I:RETURN '  horizontal lines - force small step - force black
  38. 1350 FOR I = 0 TO 174 STEP S:LINE (639,175-I)-(1,175+I),C:LINE (1,175-I)-(639,175+I),C:LINE (320+1.8286*I,1)-(320-1.8286*I,349),C:LINE (320+1.8286*I,349)-(320-1.8286*I,1),C:NEXT I:RETURN '  full X
  39. 1360 FOR I = R-99 TO 175+R STEP S:LINE (40+I,175-R)-(320+R,I),C:LINE -(600-I,175+R),C:LINE -(320-R,350-I),C:LINE -(40+I,175-R),C:NEXT I:RETURN '  spin 4-gon
  40. 1370 FOR I = 1 TO R+175 STEP S:LINE (639,350-I)-(1,I),C:LINE (1,350-I)-(639,I),C:CIRCLE (320,175),I/2,C+1,,,1:NEXT I:RETURN '  two color "eye"
  41. 1380 FOR I = 312 TO 337:LINE (RND*4+520,I)-(RND*5+575,I),7:NEXT I:RESTORE:READ X '  place a background
  42. 1390 WHILE X:READ Y:PSET (500+X,255+Y),4:READ X:WEND:PALETTE 7,15:PALETTE 7,7:RESTORE:READ X '  sign it with a flash
  43. 1400 WHILE X:READ Y:PSET (500+X,255+Y),5:READ X:WEND:PALETTE 7,15:PALETTE 7,7:RESTORE:READ X '  again in red
  44. 1410 WHILE X:READ Y:PSET (500+X,255+Y),6:READ X:WEND:PALETTE 7,15:PALETTE 7,7:RETURN '  again in blue
  45. 1420 DATA 40,61,39,62,38,63,38,64,39,65,40,65,41,66,42,66,43,66,44,66,45,66,46,65,47,65,48,65,49,64,50,64,51,63,51,62,50,61,49,60,48,60,47,60,46,61,45,61,44,62,44,63,43,64,43,65,42,67,41,68,41,69,40,70
  46. 1430 DATA 39,71,38,72,37,73,36,74,35,75,34,76,33,77,32,77,31,77,30,76,30,75,30,74,31,73,32,72,33,71,34,70,35,70,36,70,37,70,38,71,39,72,40,73,40,74,41,75,41,76,42,77,43,78,44,78,45,79,46,79,47,79,48,79,49,79
  47. 1440 DATA 50,79,51,79,51,79,52,79,53,79,54,79,55,79,56,79,57,79,58,79,59,79
  48. 1450 DATA 47,72,46,72,45,73,44,74,44,75,45,75,45,75,46,75,47,74,48,74,49,73,49,74,49,75,50,75,51,74,52,73,53,72,53,73,53,74,53,75,54,74,55,73,56,72,56,73,56,74,56,75,57,75,58,74,59,74,60,73,61,73,62,72,63,72,60,74
  49. 1460 DATA 60,75,61,75,62,75,63,73,64,75,65,75,66,74,67,74,68,73,68,72,67,72,66,73,65,74,64,76,64,77,65,78,66,79,0,0
  50. 1470 RETURN
  51.